#ifndef LINKEDLISTTEST_H_INCLUDED
#define LINKEDLISTTEST_H_INCLUDED

#include "../util/linkedlist/linkedlist.h"
//#define NDEBUG
#include <assert.h>
#include <iostream>

class LinkedListTest {
    private:
    static bool constructorTest();
    static bool addAtEndTest();
    static bool addAtStartTest();
    static bool getElementAtEndTest();
    static bool getElementAtStartTest();
    static bool iteratorTest();
    static bool pushTest();
    static bool popTest();
    static bool getSecondLastElementTest();
    static bool addAtIteratorPositionTest();
    static bool deleteAtIteratorPositionTest();
    static bool deleteAndAddAtIteratorPositionTest();
    static bool iteratorPositionIsCloseToStartTest();

    public:
    static bool run();
    // runs all contained tests
};

#endif // LINKEDLISTTEST_H_INCLUDED
